<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    // 创建构造函数
    function Person(name, sex, age) {
      this.name = name;
      this.sex = sex;
      this.age = age;
      this.classic = "学生";
      this.show = function () {
        console.log("您的信息为：" + this.name + this.sex + this.age);
        // return  行为方法中可以有return语句
      };
      this.play = function () {
        console.log("喜欢打篮球！");
      };
      //    return  构造函数中不能有return语句
    }

    // 通过构造函数实例化对象
    var zs = new Person("张三", "男", "18");
    console.log(zs);
    zs.show();
    zs.play();
    var ls = new Person("李四", "女", "28");
    ls.show();
    ls.play();

    console.log("zs是不是Person的实例化对象" + zs instanceof Person); // true

    console.log(zs.play() == ls.play()); //true
    console.log(zs.play === ls.play); //false
    // 这里的play是一个函数，属于引用类型中的对象类型，结果为false说明他们没有共享同一内存空间。
    // 他们的内容一样 但占用不同的存储空间，造成内存浪费
  </script>
</html>
